8f52aec6760a16385f6267c11da0bdfbd979323e,src/main/java/org/dbtools/gen/jpa/JPABaseRecordManagerRenderer.java,JPABaseRecordManagerRenderer,generateObjectCode,#SchemaEntity#String#,35

Before Change


        constContent += TAB + "throw new IllegalArgumentException(\"EntityManager parameter cannot be null\");\n";
        constContent += "}\n";
        constContent += "this.entityManager = em;";
        myClass.addConstructor(Access.PUBLIC, constParams, constContent);

        // singleton factory
        String managerClassName = JPARecordClassRenderer.createClassName(entity) + "Manager";
        JavaVariable managerFactoryVar = myClass.addVariable(managerClassName, "manager");
        managerFactoryVar.setStatic(true);
        managerFactoryVar.setVolatile(true);
        managerFactoryVar.setGenerateSetter(true);  // for Mock Unit testing

        String factoryMethodContet = "";
        factoryMethodContet += "if (manager == null) {\n";
        factoryMethodContet += TAB + "manager = new " + managerClassName + "(em);\n";
        factoryMethodContet += "}\n\n";
        factoryMethodContet += "manager.setEntityManager(em);\n";
        factoryMethodContet += "\n";
        factoryMethodContet += "return manager;\n";


        List<JavaVariable> factoryParams = new ArrayList<>();
        factoryParams.add(new JavaVariable("EntityManager", "em"));
        JavaMethod factoryMethod = myClass.addMethod(Access.PUBLIC, managerClassName, "get" + managerClassName, factoryParams, factoryMethodContet);
        factoryMethod.setStatic(true);

After Change


        // Since this is generated code.... suppress all warnings
        myClass.addAnnotation("@SuppressWarnings(\"all\")");

        if (!injectionSupport) {
            // constructor
            myClass.setCreateDefaultConstructor(false);
            myClass.addConstructor(Access.PRIVATE, null, null);

            List<JavaVariable> constParams = new ArrayList<>();
            constParams.add(new JavaVariable("EntityManager", "em"));
            String constContent = "";
            constContent += "if (em == null) {\n";
            constContent += TAB + "throw new IllegalArgumentException(\"EntityManager parameter cannot be null\");\n";
            constContent += "}\n";
            constContent += "this.entityManager = em;";
            myClass.addConstructor(Access.PUBLIC, constParams, constContent);

            // singleton factory
            String managerClassName = JPARecordClassRenderer.createClassName(entity) + "Manager";
            JavaVariable managerFactoryVar = myClass.addVariable(managerClassName, "manager");
            managerFactoryVar.setStatic(true);
            managerFactoryVar.setVolatile(true);
            managerFactoryVar.setGenerateSetter(true);  // for Mock Unit testing

            String factoryMethodContet = "";
            factoryMethodContet += "if (manager == null) {\n";
            factoryMethodContet += TAB + "manager = new " + managerClassName + "(em);\n";
            factoryMethodContet += "}\n\n";
            factoryMethodContet += "manager.setEntityManager(em);\n";
            factoryMethodContet += "\n";
            factoryMethodContet += "return manager;\n";


            List<JavaVariable> factoryParams = new ArrayList<>();
            factoryParams.add(new JavaVariable("EntityManager", "em"));
            JavaMethod factoryMethod = myClass.addMethod(Access.PUBLIC, managerClassName, "get" + managerClassName, factoryParams, factoryMethodContet);
            factoryMethod.setStatic(true);
        }